#ifndef __SSL__SSBASEL__SSTRACE__TRACE_CLASS__H__
#define __SSL__SSBASEL__SSTRACE__TRACE_CLASS__H__

#include "trace.h"

_SSL_BEGIN
_SSBASEL_BEGIN

class SSTRACE_CLASS trace_region
{
public:
	trace_region(const char *region_name);
	trace_region(const wchar_t *region_name);
	virtual ~trace_region();

protected:
	const char *region_name_a_;
	const wchar_t *region_name_w_;
};

#ifdef SS_TRACE_DISABLE
#define SsTraceFunc
#else
#define SsTraceFunc trace_region __local_trace_region(__FUNCTION__)
#endif

_SSBASEL_END
_SSL_END

#endif

